Skip to content

[pull] main from tldraw:main#493

Merged
pull[bot] merged 1 commit into
code:mainfrom
tldraw:main
Apr 11, 2026
Merged

[pull] main from tldraw:main#493
pull[bot] merged 1 commit into
code:mainfrom
tldraw:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 11, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

In order to allow users to create shapes with fill but no visible
border/stroke (Closes #7020), this PR adds a `'none'` value to
`DefaultDashStyle`. When the dash style is set to `'none'`, shapes
render their fill normally but skip all stroke/border rendering. Shape
indicators still work correctly for selection purposes.

The `'none'` dash style is not exposed in the UI style panel — it can
only be set programmatically via the SDK.

### Change type

- [x] `feature`

### Test plan

1. Create a geo shape (rectangle, ellipse, etc.) and set dash style to
`'none'` programmatically
2. Verify the shape fill renders but no border/stroke is visible
3. Verify the shape is still selectable (indicator appears on
hover/select)
4. Test with draw shapes — closed draw shapes with fill should show fill
but no stroke
5. Test with arrow shapes — arrow body should be hidden with none dash
6. Test with line shapes — line should be invisible but still selectable
7. Test SVG export with none dash — exported SVG should have no stroke
8. Test x-box geo shape — the internal X lines should not render with
none dash

- [ ] Unit tests
- [ ] End to end tests

### Release notes

- Add `'none'` dash style option that hides shape borders while
preserving fill

### API changes

- Added `'none'` to `DefaultDashStyle` enum values (`TLDefaultDashStyle`
type)
- Added `NonePathBuilderOpts` interface for the none style in
`PathBuilder`
- `PathBuilder.toSvg()` now returns `null` for `'none'` style
- `PathBuilder.toPath2D()` returns empty `Path2D` for `'none'` style

### Code changes

| Section         | LOC change |
| --------------- | ---------- |
| Core code       | +41 / -11  |
| Automated files | +15 / -9   |

---------

Co-authored-by: huppy-bot[bot] <128400622+huppy-bot[bot]@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Apr 11, 2026
@pull pull Bot added the ⤵️ pull label Apr 11, 2026
@pull pull Bot merged commit e579573 into code:main Apr 11, 2026
9 of 12 checks passed
@pull pull Bot had a problem deploying to deploy-production April 11, 2026 09:13 Failure
@pull pull Bot had a problem deploying to vsce publish April 11, 2026 09:13 Failure
@pull pull Bot had a problem deploying to deploy-staging April 11, 2026 09:13 Error
@pull pull Bot had a problem deploying to deploy-staging April 11, 2026 09:13 Failure
@pull pull Bot had a problem deploying to deploy-staging April 12, 2026 00:38 Failure
@pull pull Bot temporarily deployed to e2e-dotcom April 12, 2026 02:36 Inactive
@pull pull Bot had a problem deploying to deploy-staging April 13, 2026 00:39 Failure
@pull pull Bot temporarily deployed to e2e-dotcom April 13, 2026 02:37 Inactive
@pull pull Bot had a problem deploying to deploy-production April 13, 2026 10:37 Failure
@pull pull Bot had a problem deploying to deploy-staging April 14, 2026 00:40 Failure
@pull pull Bot temporarily deployed to e2e-dotcom April 14, 2026 02:36 Inactive
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant